package org.dark.fund.api;

import com.baomidou.mybatisplus.extension.service.IService;
import org.dark.fund.api.dto.FundBaseInfoToday;
import org.dark.fund.api.dto.FundRateRecently;
import org.dark.fund.dao.entity.Archives;
import org.dark.fund.dao.entity.Fund;

import java.util.List;
import java.util.Set;
import java.util.concurrent.Future;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wanlh
 * @since 2021-04-29
 */
public interface IFundService extends IService<Fund> {
    List<Fund> getBatchFund(List<String> fundId);

    Future<Set<Fund>> queryFundByFundCode(String fundCode);

    Future<Set<Fund>> queryFundByFundName(String fundName);

    Future<Set<Fund>> queryFundByManagerName(String managerName);

    Future<Set<Fund>> queryFundByShortSpell(String shortSpell);

    Future<Set<Fund>> queryFundByLongSpell(String longSpell);

    Set<Fund> queryFundAvailable(String condition);

    FundBaseInfoToday queryFundBaseInfoToday(String fundCode);

    FundRateRecently queryFundRateRecently(String fundCode, int offset);

    /**
     * 基金档案
     * @param fundCode
     * @return
     */
    Archives getArchives(String fundCode);
}
